package com.xuanwei.xwcommon.entity.dto;

import lombok.Data;

import java.math.BigDecimal;
import java.time.Instant;
import java.time.LocalDateTime;
import java.time.ZoneId;
import java.util.Date;
import java.util.List;

/**
 * @Author jiangyong
 * @Description TODO
 * @Date 2019/6/28 14:03
 **/
@Data
public class ProductDto {

    private Integer id;

    private String name;

    private Integer source;

    private String productNo;


    /**
     * 轮播图,多张以逗号隔开
     */
    private String bannerImage;

    /**
     * 商品主图
     */
    private String mainImage;

    /**
     * 市场价或原价
     */
    private String marketPrice;

    /**
     * 最大市场价
     */
    private BigDecimal maxMarketPrice;

    /**
     * 最小市场价
     */
    private BigDecimal minMarketPrice;

    /**
     * 最小价格
     */
    private BigDecimal minPrice;

    /**
     * 最大价格
     */
    private BigDecimal maxPrice;

    /**
     * 现价
     */
    private String price;

    /**
     * 库存
     */
    private Integer stock;

    /**
     * 目录ID,以-隔开
     */
    private Integer categoryId;

    /**
     * 目录名称
     */
    private String categoryName;

    /**
     * 销售量
     */
    private Integer saleNum;

    /**
     * 商品详情
     */
    private String detail;

    /**
     * 修改时间
     */
    private LocalDateTime updateTime;

    public Date getUpdateTime(){
        ZoneId zone = ZoneId.systemDefault();
        Instant instant = updateTime.atZone(zone).toInstant();
        return Date.from(instant);
    }

    /**
     * 创建时间
     */
    private LocalDateTime createTime;

    public Date getCreateTime(){
        ZoneId zone = ZoneId.systemDefault();
        Instant instant = createTime.atZone(zone).toInstant();
        return Date.from(instant);
    }

    /**
     * 商品标签
     */
    private String labelName;

    /**
     * 商品属性集合
     */
    private List<ProductAttributeDto>   attributes;

    /**
     * 商品SKU集合
     */
    private List<ProductSkuDto> productSku;

    /**
     * 商品参数集合
     */
    private List<ProductParamDto> productParams;
}
